package com.java.yz.day10.ketang;

/*
    StringBuffer类概述
    做到扩容，动态的变换，随着字符的变化就会自动变大变小
    我们如果对字符串进行拼接操作，每次拼接，都会构建一个新的String对象，既耗时，又浪费空间。
    而StringBuffer就可以解决这个问题

    线程安全的可变字符序列
        长度：实际值
        容量：理论值

    构造方法
        public StringBuffer()
        public StringBuffer(int capacity)
        public StringBuffer(String str)
 */
public class StringBufferDemo1 {
    public static void main(String[] args) {
        //public StringBuffer() 无参构造方法
        StringBuffer stringBuffer = new StringBuffer();
        System.out.println(stringBuffer);

        //获取初始容量的大小
        System.out.println(stringBuffer.capacity());  //默认大小为：16

        //获取实际的大小
        System.out.println(stringBuffer.length());// 0

        //public StringBuffer(int capacity) //给定指定大小长度的容量
        StringBuffer stringBuffer1 = new StringBuffer(50); //自己给50容量的大小

        //public StringBuffer(String str) 可以自己传入一个字符串
        StringBuffer stringBuffer2 = new StringBuffer("hello");
        System.out.println(stringBuffer2.length());  //字符串的实际长度为5
        System.out.println(stringBuffer2.capacity());  // 初始长度+添加字符串的长度 16+5=21


    }
}
